多维图像的 N 维滤波 | 您所在的位置:网站首页 › matlab filter › 多维图像的 N 维滤波 |
打开实时脚本 在此示例中,当输入的类为 double 时,imfilter 的输出具有负值。为避免负值,请在调用 imfilter 之前将图像转换为不同数据类型。例如,当输入类型为 uint8 时,imfilter 将输出值截断为 0。将图像转换为有符号整数类型可能也是合适的。 A = magic(5)A = 5×5 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9用 imfilter 对图像进行滤波。 h = [-1 0 1]; imfilter(A,h)ans = 5×5 24 -16 -16 14 -8 5 -16 9 9 -14 6 9 14 9 -20 12 9 9 -16 -21 18 14 -16 -16 -2请注意,结果包含负值。为避免输出图像中出现负值,请在执行滤波之前将输入图像转换为 uint8 类型。由于 imfilter 的输入的类为 uint8,输出的类也为 uint8,因此 imfilter 将负值截断为 0。 A = uint8(magic(5)); imfilter(A,h)ans = 5x5 uint8 matrix 24 0 0 14 0 5 0 9 9 0 6 9 14 9 0 12 9 9 0 0 18 14 0 0 0 |
CopyRight 2018-2019 实验室设备网 版权所有 |